{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-08-18T15:09:26.486663Z",
     "start_time": "2025-08-18T15:08:09.062592Z"
    }
   },
   "source": [
    "# 导入所需库\n",
    "from langchain import PromptTemplate, OpenAI, LLMChain\n",
    "\n",
    "# 设置提示模板\n",
    "prompt = PromptTemplate(\n",
    "    input_variables=[\"flower\", \"season\"],\n",
    "    template=\"{flower}在{season}的花语是?\"\n",
    ")\n",
    "\n",
    "from langchain_openai import ChatOpenAI\n",
    "import os\n",
    "llm = ChatOpenAI(\n",
    "    # 若没有配置环境变量，请用百炼API Key将下行替换为：api_key=\"sk-xxx\",\n",
    "    api_key=os.getenv(\"DASH_SCOPE_API_KEY\"), # 如何获取API Key：https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key\n",
    "    base_url=\"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n",
    "    model=\"qwen-plus\",\n",
    "    temperature=0.8,\n",
    "    max_tokens=60,\n",
    ")\n",
    "\n",
    "\n",
    "# 初始化链\n",
    "llm_chain = LLMChain(llm=llm, prompt=prompt)\n",
    "\n",
    "# 调用链\n",
    "response = llm_chain({\n",
    "    'flower': \"玫瑰\",\n",
    "    'season': \"夏季\"\n",
    "})\n",
    "print(response)\n",
    "\n",
    "# run方法\n",
    "llm_chain.run({\n",
    "    'flower': \"玫瑰\",\n",
    "    'season': \"夏季\"\n",
    "})\n",
    "\n",
    "# predict方法\n",
    "result = llm_chain.predict(flower=\"玫瑰\", season=\"夏季\")\n",
    "print(result)\n",
    "\n",
    "# apply方法允许您针对输入列表运行链\n",
    "input_list = [\n",
    "    {\"flower\": \"玫瑰\", 'season': \"夏季\"},\n",
    "    {\"flower\": \"百合\", 'season': \"春季\"},\n",
    "    {\"flower\": \"郁金香\", 'season': \"秋季\"}\n",
    "]\n",
    "result = llm_chain.apply(input_list)\n",
    "print(result)\n",
    "\n",
    "# generate方法\n",
    "result = llm_chain.generate(input_list)\n",
    "print(result)"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\49247\\AppData\\Local\\Temp\\ipykernel_20592\\3901768502.py:23: LangChainDeprecationWarning: The class `LLMChain` was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use :meth:`~RunnableSequence, e.g., `prompt | llm`` instead.\n",
      "  llm_chain = LLMChain(llm=llm, prompt=prompt)\n",
      "C:\\Users\\49247\\AppData\\Local\\Temp\\ipykernel_20592\\3901768502.py:26: LangChainDeprecationWarning: The method `Chain.__call__` was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:`~invoke` instead.\n",
      "  response = llm_chain({\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'flower': '玫瑰', 'season': '夏季', 'text': '玫瑰在夏季的花语并没有一个固定的说法，因为玫瑰的花语更多与其颜色和数量有关，而不是季节。不过，如果结合夏季的特点和玫瑰的象征意义，可以赋予它一些与季节相关的美好寓意。\\n\\n一般来说，玫瑰的常见花语包括：\\n\\n- 红玫瑰：热情、爱情、浪漫\\n- 粉玫瑰：温柔、感激、初恋\\n- 白玫瑰：纯洁、尊敬、哀悼\\n- 黄玫瑰：友谊、快乐、祝福\\n- 橙玫瑰：热情、渴望、吸引\\n\\n在夏季，气候热情洋溢、阳光明媚，人们的心情也较为愉悦、充满活力。因此，玫瑰在这个季节可以象征：\\n\\n- 热烈的爱情（如同夏季的热情阳光）\\n- 青春的活力与浪漫\\n- 盛开的生命力和美好情感的绽放\\n\\n所以，如果说“玫瑰在夏季的花语”，可以理解为“热烈而美好的情感在盛夏时节盛开”，象征着爱情与激情在阳光下达到高峰。\\n\\n总结：玫瑰在夏季可以象征“热烈的爱情”或“盛放的情感”，但其具体含义仍取决于颜色和赠送场合。'}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\49247\\AppData\\Local\\Temp\\ipykernel_20592\\3901768502.py:33: LangChainDeprecationWarning: The method `Chain.run` was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:`~invoke` instead.\n",
      "  llm_chain.run({\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "玫瑰在夏季的花语并没有因为季节而发生本质变化，其核心象征意义依然围绕着“爱情、热情与浪漫”。不过，不同颜色的玫瑰在夏季可能会被赋予一些更贴近季节氛围的附加含义：\n",
      "\n",
      "1. **红玫瑰**  \n",
      "   - **经典花语**：热烈的爱、忠诚、尊敬。  \n",
      "   - **夏季联想**：像夏日骄阳般炽热，适合表达浓烈的情感，比如告白或纪念重要时刻。\n",
      "\n",
      "2. **粉玫瑰**  \n",
      "   - **花语**：温柔的爱、感激、欣赏。  \n",
      "   - **夏季联想**：轻盈的粉色与夏日微风呼应，适合表达含蓄的喜欢或感谢。\n",
      "\n",
      "3. **白玫瑰**  \n",
      "   - **花语**：纯洁、真诚、永恒的爱。  \n",
      "   - **夏季联想**：清凉素雅，常用于毕业季或表达纯粹的心意，也象征夏日的清新与希望。\n",
      "\n",
      "4. **黄玫瑰**  \n",
      "   - **花语**：友谊、快乐、阳光般的温暖。  \n",
      "   - **夏季联想**：明亮的黄色如同夏日阳光，传递积极能量，适合送给朋友或表达祝福。\n",
      "\n",
      "5. **混搭花束**  \n",
      "   - 夏季常见的玫瑰与其他花材（如桔梗、绣球、尤加利叶）搭配时，可能融入“活力、自然之美”的寓意，象征夏日的丰盛与生机。\n",
      "\n",
      "**文化背景补充**：  \n",
      "- 在西方，玫瑰一直是爱情象征，夏季送红玫瑰尤为常见；  \n",
      "- 在中国，玫瑰逐渐取代传统“七夕”花卉（如荷花、石榴），成为现代浪漫表达的载体；  \n",
      "- 日本等亚洲地区，夏季花语可能更偏向“感恩与鼓励”（如毕业季送白玫瑰）。\n",
      "\n",
      "**总结**：  \n",
      "玫瑰的夏季花语仍以传统含义为基础，但颜色与场景的结合会让其传递出更丰富的季节联想——炽热的爱、清凉的慰藉，或是阳光般的温暖。具体含义需结合颜色、数量及赠送场合来解读。\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\python-workspace\\python_analyse\\.venv\\Lib\\site-packages\\langchain_openai\\chat_models\\base.py:401: UserWarning: Unexpected type for token usage: <class 'NoneType'>\n",
      "  warnings.warn(f\"Unexpected type for token usage: {type(new_usage)}\")\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[{'text': '玫瑰在夏季的花语与它在其他季节的花语基本一致，主要象征着**爱情、热情、美丽与浪漫**。不过，不同颜色的玫瑰在夏季可能会有更丰富的寓意，结合季节的特点，可以有更细腻的情感表达：\\n\\n### 通用花语（适用于所有季节）：\\n- **红玫瑰**：热烈的爱、忠贞不渝的爱情\\n- **粉玫瑰**：温柔的爱、感激、初恋\\n- **白玫瑰**：纯洁、尊敬、敬仰\\n- **黄玫瑰**：友谊、快乐、祝福\\n- **橙玫瑰（或双色玫瑰）**：激情、渴望、好奇\\n- **紫玫瑰（蓝紫色）**：神秘、高贵、独特\\n\\n### 结合夏季的特殊意境：\\n在夏季，阳光明媚、万物繁茂，玫瑰盛开更添热烈与浪漫气息，因此它的花语也可以被赋予更多**热情、奔放、青春与活力**的象征。\\n\\n例如：\\n- 夏日送红玫瑰，更能表达**炽热的爱情**；\\n- 送粉玫瑰给朋友或长辈，表达**温柔的敬意与感恩**；\\n- 白玫瑰在夏日可用于表达**纯粹的心意或追忆**；\\n- 黄玫瑰在夏天更适合送给朋友，象征**阳光般的友情**。\\n\\n🌸 总结：\\n> 玫瑰在夏季的花语依然是以“爱”为核心，但因季节的热烈与阳光，更突出了**热情、浪漫、青春与真挚**的情感表达。\\n\\n如果你有特定的颜色或送花对象，我也可以帮你进一步解读哦！'}, {'text': '百合在春季的花语主要象征着 **纯洁、高贵、感恩与重生**。\\n\\n具体来说：\\n\\n- **纯洁与天真**：百合花花朵洁白（尤其是白色的百合，如“白百合”或“铁炮百合”），自古以来就被视为纯洁的象征。\\n- **高贵与庄严**：百合花姿态优雅，常被用于重要的仪式或场合，象征高贵与尊敬。\\n- **感恩与祝福**：在春季送百合花，常表达对亲人、朋友的祝福，也适合用于探病、祝贺康复等场合。\\n- **复活与重生**：由于百合常在春季盛开，它也与春天的生机勃勃联系在一起，尤其在西方文化中，百合（如复活节百合）是复活节的象征，代表新生与希望。\\n\\n🌸 不同颜色的百合还有不同的花语补充：\\n\\n- **白色百合**：纯洁的心、哀悼、虔诚。\\n- **粉色百合**：爱恋、心心相印。\\n- **黄色百合**：欢乐、感谢、善意。\\n- **橙红色百合（如“火百合”）**：热情、自信、勇敢。\\n\\n所以在春季送百合，不仅赏心悦目，也寓意美好。💐'}, {'text': '郁金香在不同颜色和文化背景下有不同的花语，但一般来说，**秋季并不是郁金香的自然花期**，郁金香通常在春季（3月至5月）开花。因此，“秋季的郁金香”本身在自然界中较为罕见，但在秋季人工栽培或在温暖地区郁金香也可能开放。\\n\\n如果从花语的角度来理解“郁金香在秋季”的含义，可以从以下两个角度来解读：\\n\\n---\\n\\n### 一、郁金香本身的花语（不分季节）：\\n\\n- **经典的爱、永恒的爱**（尤其是红色郁金香）\\n- **高雅、尊贵**\\n- **完美的告白**\\n- **希望、重生、新的开始**\\n\\n---\\n\\n### 二、秋季赋予郁金香的特殊含义：\\n\\n在秋季看到郁金香开放，可能会被赋予一些象征性的花语，比如：\\n\\n- **不寻常的美 / 突破常规**\\n- **意外的惊喜 / 意外之喜**\\n- **坚韧与毅力**（在非自然花期开放，象征逆境中坚持）\\n- **希望与重生**（虽然在秋季，却象征春天将至）\\n\\n---\\n\\n### 总结：\\n\\n虽然郁金香在秋季并不常见，但如果在秋季看到郁金香盛开，可以理解为一种**象征希望、逆境中坚持、爱与美的延续**的花语。也可以视作一种寓意：即使在不属于自己的季节，也能绽放出属于自己的美丽。\\n\\n如果你是想用于送花、文学创作或情感表达，这样的花语可以作为参考。需要的话，我也可以帮你根据颜色进一步细化花语哦！'}]\n",
      "generations=[[ChatGeneration(text='玫瑰在夏季的花语与它在其他季节的花语大致相同，主要象征着**爱情、热情、美丽和真挚的情感**。不过，不同颜色的玫瑰在夏季可能会有更具体的寓意：\\n\\n- **红玫瑰**：热烈的爱情，表达“我爱你”。\\n- **粉玫瑰**：温柔的爱、感激与感动。\\n- **白玫瑰**：纯洁的心意、尊敬与敬仰。\\n- **黄玫瑰**：友情、快乐与祝福。\\n- **橙色玫瑰**：热情、渴望与吸引力。\\n- **紫玫瑰**：神秘、高贵，有时也代表一见钟情。\\n\\n在夏季，玫瑰盛开，色彩鲜艳，也常被用来象征**热烈的情感与夏日的浪漫**。因此，玫瑰在夏季可以被看作是“热情的爱”与“盛夏之恋”的象征。\\n\\n🌸 如果你是在特定情境下（比如送花、写诗、表达感情）想知道玫瑰的花语，也可以告诉我，我可以帮你更具体地解读或搭配花束哦！', generation_info={'finish_reason': 'stop', 'logprobs': None}, message=AIMessage(content='玫瑰在夏季的花语与它在其他季节的花语大致相同，主要象征着**爱情、热情、美丽和真挚的情感**。不过，不同颜色的玫瑰在夏季可能会有更具体的寓意：\\n\\n- **红玫瑰**：热烈的爱情，表达“我爱你”。\\n- **粉玫瑰**：温柔的爱、感激与感动。\\n- **白玫瑰**：纯洁的心意、尊敬与敬仰。\\n- **黄玫瑰**：友情、快乐与祝福。\\n- **橙色玫瑰**：热情、渴望与吸引力。\\n- **紫玫瑰**：神秘、高贵，有时也代表一见钟情。\\n\\n在夏季，玫瑰盛开，色彩鲜艳，也常被用来象征**热烈的情感与夏日的浪漫**。因此，玫瑰在夏季可以被看作是“热情的爱”与“盛夏之恋”的象征。\\n\\n🌸 如果你是在特定情境下（比如送花、写诗、表达感情）想知道玫瑰的花语，也可以告诉我，我可以帮你更具体地解读或搭配花束哦！', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 218, 'prompt_tokens': 20, 'total_tokens': 238, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'qwen-plus', 'system_fingerprint': None, 'id': 'chatcmpl-3a5149bb-832e-9541-8ff9-1cad949d006b', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None}, id='run--6eb72262-400a-4ba5-b903-5dd5a6fc6e5b-0', usage_metadata={'input_tokens': 20, 'output_tokens': 218, 'total_tokens': 238, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))], [ChatGeneration(text='百合在春季的花语主要与**纯洁、新生、希望与美好的祝愿**相关。\\n\\n具体来说，百合在春季常见的花语包括：\\n\\n1. **纯洁与高贵**：百合自古以来就象征着纯洁无瑕的心灵与高尚的品格，尤其在春天盛开时，寓意新的开始是纯净而美好的。\\n\\n2. **重生与希望**：春季是万物复苏的季节，百合在这个时候开花，象征着生命的重生与未来的希望。\\n\\n3. **祝福与感恩**：在一些文化中，春季送百合花代表对他人健康、幸福的美好祝愿，也常用于表达感恩之情。\\n\\n4. **母爱与敬意**：白色百合在春季也常被用来象征母爱的纯洁与无私，因此在母亲节（不同国家时间不同，但多在春末）送百合也很常见。\\n\\n不同颜色的百合在春季也可能有不同的花语：\\n\\n- **白色百合**：纯洁、庄严、心地善良。\\n- **粉色百合**：幸福美满、甜蜜的爱情。\\n- **黄色百合**：充满活力、快乐与温暖。\\n\\n🌸 总结：百合在春季的花语通常是**纯洁、希望、新生与美好祝愿**，是非常适合春天送礼和表达心意的花卉之一。', generation_info={'finish_reason': 'stop', 'logprobs': None}, message=AIMessage(content='百合在春季的花语主要与**纯洁、新生、希望与美好的祝愿**相关。\\n\\n具体来说，百合在春季常见的花语包括：\\n\\n1. **纯洁与高贵**：百合自古以来就象征着纯洁无瑕的心灵与高尚的品格，尤其在春天盛开时，寓意新的开始是纯净而美好的。\\n\\n2. **重生与希望**：春季是万物复苏的季节，百合在这个时候开花，象征着生命的重生与未来的希望。\\n\\n3. **祝福与感恩**：在一些文化中，春季送百合花代表对他人健康、幸福的美好祝愿，也常用于表达感恩之情。\\n\\n4. **母爱与敬意**：白色百合在春季也常被用来象征母爱的纯洁与无私，因此在母亲节（不同国家时间不同，但多在春末）送百合也很常见。\\n\\n不同颜色的百合在春季也可能有不同的花语：\\n\\n- **白色百合**：纯洁、庄严、心地善良。\\n- **粉色百合**：幸福美满、甜蜜的爱情。\\n- **黄色百合**：充满活力、快乐与温暖。\\n\\n🌸 总结：百合在春季的花语通常是**纯洁、希望、新生与美好祝愿**，是非常适合春天送礼和表达心意的花卉之一。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 264, 'prompt_tokens': 20, 'total_tokens': 284, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'qwen-plus', 'system_fingerprint': None, 'id': 'chatcmpl-e6d9ccb6-4893-9b36-bff3-7a919deba974', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None}, id='run--aa66583f-3704-436e-95cb-80a802d18006-0', usage_metadata={'input_tokens': 20, 'output_tokens': 264, 'total_tokens': 284, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))], [ChatGeneration(text='郁金香在不同颜色和文化中有不同的花语，但一般来说，**郁金香的花语多与爱情、美丽、优雅、祝福等相关**。而在**秋季**，虽然郁金香主要是在春季开花的植物，但如果你在秋季提到郁金香，其象征意义依然适用。\\n\\n不过，如果特别强调“**秋季的郁金香**”，可以赋予它一些具有季节特色的引申含义：\\n\\n1. **感恩与珍惜**：秋季是收获的季节，送郁金香可以表达对某人的感激之情，象征“你是我生命中的美好”。\\n\\n2. **重生与希望**：郁金香在秋天种植、春天开花，因此秋季的郁金香象征着“未来的美丽正在孕育”，寓意希望与新生。\\n\\n3. **默默的爱与等待**：就像郁金香在土壤中默默等待春天的到来，秋季的郁金香也可以象征一种静默而坚定的情感。\\n\\n4. **永恒的祝福**：秋季象征着成熟与沉淀，此时的郁金香可以代表一种更深层次的祝福与承诺。\\n\\n### 不同颜色的郁金香花语（适用于秋季）：\\n- **红色郁金香**：热烈的爱、真挚的情感\\n- **黄色郁金香**：阳光般的温暖、友谊、快乐\\n- **粉色郁金香**：温柔的爱、关怀与体贴\\n- **白色郁金香**：纯洁、尊敬、新的开始\\n- **紫色郁金香**：高贵、神秘、永恒的爱\\n\\n### 总结：\\n虽然郁金香主要盛开在春天，但在秋季提到它，可以寓意着**希望、等待、感恩与未来的美好**。送郁金香，无论是哪个季节，都是一种温柔而深情的表达方式。', generation_info={'finish_reason': 'stop', 'logprobs': None}, message=AIMessage(content='郁金香在不同颜色和文化中有不同的花语，但一般来说，**郁金香的花语多与爱情、美丽、优雅、祝福等相关**。而在**秋季**，虽然郁金香主要是在春季开花的植物，但如果你在秋季提到郁金香，其象征意义依然适用。\\n\\n不过，如果特别强调“**秋季的郁金香**”，可以赋予它一些具有季节特色的引申含义：\\n\\n1. **感恩与珍惜**：秋季是收获的季节，送郁金香可以表达对某人的感激之情，象征“你是我生命中的美好”。\\n\\n2. **重生与希望**：郁金香在秋天种植、春天开花，因此秋季的郁金香象征着“未来的美丽正在孕育”，寓意希望与新生。\\n\\n3. **默默的爱与等待**：就像郁金香在土壤中默默等待春天的到来，秋季的郁金香也可以象征一种静默而坚定的情感。\\n\\n4. **永恒的祝福**：秋季象征着成熟与沉淀，此时的郁金香可以代表一种更深层次的祝福与承诺。\\n\\n### 不同颜色的郁金香花语（适用于秋季）：\\n- **红色郁金香**：热烈的爱、真挚的情感\\n- **黄色郁金香**：阳光般的温暖、友谊、快乐\\n- **粉色郁金香**：温柔的爱、关怀与体贴\\n- **白色郁金香**：纯洁、尊敬、新的开始\\n- **紫色郁金香**：高贵、神秘、永恒的爱\\n\\n### 总结：\\n虽然郁金香主要盛开在春天，但在秋季提到它，可以寓意着**希望、等待、感恩与未来的美好**。送郁金香，无论是哪个季节，都是一种温柔而深情的表达方式。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 373, 'prompt_tokens': 22, 'total_tokens': 395, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'qwen-plus', 'system_fingerprint': None, 'id': 'chatcmpl-0b957af9-9c1f-912d-b8a8-16af7e2c3f23', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None}, id='run--30b1b6d5-1902-408e-8e96-21039d2691cb-0', usage_metadata={'input_tokens': 22, 'output_tokens': 373, 'total_tokens': 395, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))]] llm_output={'token_usage': {'completion_tokens': 855, 'prompt_tokens': 62, 'total_tokens': 917, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'qwen-plus'} run=[RunInfo(run_id=UUID('6eb72262-400a-4ba5-b903-5dd5a6fc6e5b')), RunInfo(run_id=UUID('aa66583f-3704-436e-95cb-80a802d18006')), RunInfo(run_id=UUID('30b1b6d5-1902-408e-8e96-21039d2691cb'))] type='LLMResult'\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\python-workspace\\python_analyse\\.venv\\Lib\\site-packages\\langchain_openai\\chat_models\\base.py:401: UserWarning: Unexpected type for token usage: <class 'NoneType'>\n",
      "  warnings.warn(f\"Unexpected type for token usage: {type(new_usage)}\")\n"
     ]
    }
   ],
   "execution_count": 1
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
